---
title: What is RedwoodSDK?
description: From concept to cloud
tableOfContents: false
---

import { Card, CardGrid } from "@astrojs/starlight/components";

RedwoodSDK is a React framework for Cloudflare. It starts as a Vite plugin that enables server-side rendering, React Server Components, server functions, streaming responses, and real-time capabilities. Its standards-based router—with support for middleware and interrupters—gives you fine-grained control over every request and response.

Local development mirrors production with Miniflare, which emulates the Cloudflare runtime. You get access to Durable Objects, D1 (database), R2 (blob storage), Queues, and more—right inside of the box. No installation required.

<CardGrid>
	<Card title="Quick start" icon="">
    	Create a new project by running the following command, replacing {"my-project-name"} with your project name

    	```bash frame="none"
    	npx create-rwsdk my-project-name
    	```

    	Then ["start developing"](/getting-started/quick-start#start-developing)
    </Card>

</CardGrid>

## RedwoodSDK is not a framework, it's a "framework"

RedwoodSDK is not your typical JavaScript framework. We initially resisted calling it a framework. Instead, we described it as a toolkit, or more precisely, an SDK, because we believed most of the heavy lifting should come from the browser and the network, not a JavaScript runtime pretending to be the platform.

RedwoodSDK embraces web-native primitives, minimizes abstraction, and gives you full control over the code you write. It is idiomatic to JavaScript and aligned with the platform.

Over time, we adopted the term "framework" for clarity and discoverability. But at its core, RedwoodSDK remains a lightweight, composable set of tools that stays out of your way.

## Design Principles

### 1. Zero Magic

RedwoodSDK avoids all hidden behavior:

- No code generation
- No transpilation side effects
- No special treatment of file names or exports
- Only explicit import and export statements
- Everything respects JavaScript's core contracts

If the runtime relies on convention instead of clarity, it breaks the language contract. With RedwoodSDK, what you write is what runs.

### 2. Composability Over Configuration

RedwoodSDK gives you primitives, not policy:

- Build from functions, modules, and types
- No opinionated wrappers or rigid folder structures
- Prioritizes developer intent and application code
- Encourages co-location of logic, UI, and infrastructure

You are in control. RedwoodSDK helps you build the software you want without getting in your way.

### 3. Web-First Architecture

RedwoodSDK is built for the web as it exists today:

- Uses native Web APIs
- No abstraction over fetch, Request, Response, or URL
- Avoids rebuilding primitives the browser already provides

If the platform already gives you a tool, we do not wrap it. We help you use it directly and idiomatically.

## Why This Matters

RedwoodSDK is built around a simple idea: stay close to the platform. By minimizing abstraction, it reduces complexity, removes hidden behavior, and makes code easier to understand and maintain.

This philosophy drives every architectural decision in RedwoodSDK. It is not just about writing software. It is about understanding the software you are writing.
